﻿namespace Cos.Module.CMS.Data
{
    using Cos.Core.Model.Common;
    using Cos.Core.Model.Content;

    public interface IMenuRepository
    {
        /// <summary>
        /// Get the menu
        /// </summary>
        /// <param name="name">
        /// The name of the menu.
        /// </param>
        /// <param name="culture">
        /// The culture culture of the page.
        /// </param>
        /// <param name="isLiveMode">
        /// The  live mode is true if the user is viewing the site in live mode.
        /// </param>
        /// <returns>
        /// The root menu and the list of sub page and throws UnknownMenuException if the menu doesn't exist
        /// </returns>
        Menu GetMenu(string name, Culture culture, bool isLiveMode) /*throws UnknownMenuException*/;
    }
}
